#!/bin/sh
#
-SPEC=gpsbabel.spec
-TAR_IGNORE="--exclude CVS"
VERSION=$1
RELEASE=$2
+WEB=$3
+
+SPEC=gpsbabel.spec
+TAR_IGNORE="--exclude CVS"
if test -x /usr/bin/rpmbuild; then
RPM=rpmbuild
RPM=rpm
fi
-DIR=`pwd`
-TEMPDIR=/tmp/gpsbabel-rpm.$$
-mkdir -p $TEMPDIR
-trap "cd $DIR; rm -fr $TEMPDIR" 0 1 2 3 15
-
-function addspec()
-{
- echo "$*" >> $SPEC
-}
-
-# create spec file needed for rpm generation
-function mkspec()
-{
- local REL=`echo $RELEASE | sed 's/^-//'`
- test "$REL" == "" && REL=0
+test -f gpsbabel.html || exit 1
- echo -n "" > $SPEC # create the file
-
- addspec "Summary: GPSBabel"
- addspec "Name: gpsbabel"
- addspec "Version: $VERSION"
- addspec "Release: $REL"
- addspec "License: GPL"
- addspec "Group: File tools"
- addspec "Source: %{name}-%{version}.tar.bz2"
- addspec "BuildRoot: %{_tmppath}/%{name}-%{version}-build"
- addspec "URL: http://www.gpsbabel.org"
- addspec ""
-
- addspec "%description"
- addspec "Converts GPS waypoint, route and track data from one format type to another."
- addspec ""
-
- addspec "Authors:"
- addspec "--------"
-
- cat $DIR/AUTHORS >> gpsbabel.spec
-
- addspec ""
- addspec "%prep"
- addspec "%setup -q"
- addspec ""
-
- addspec "%build"
- addspec "./configure"
- addspec "make"
- addspec ""
- addspec "%install"
- addspec "rm -rf "
- addspec "mkdir -p %{buildroot}/usr/bin "
- addspec "install -m 555 gpsbabel %{buildroot}/usr/bin/gpsbabel "
- addspec ""
-
- addspec "%files"
- addspec "%defattr(-,root,root)"
- addspec "/usr/bin/gpsbabel"
- addspec "%doc README* COPYING CHANGELOG AUTHORS readme.xml"
- addspec ""
- addspec "%changelog"
-}
-
-cd $TEMPDIR
-
-ln -sf $DIR gpsbabel-$VERSION
-
-mkspec
-
-cat $DIR/../babelweb/changes.html | $DIR/tools/mkchangelog > gpsbabel-$VERSION/CHANGELOG
-cat gpsbabel-$VERSION/CHANGELOG >> gpsbabel.spec
-
-cp gpsbabel.spec gpsbabel-$VERSION/
-rm -f gpsbabel.spec
-
-tar -cj $TAR_IGNORE -f gpsbabel-$VERSION.tar.bz2 gpsbabel-$VERSION/.
-rm -f gpsbabel-$VERSION
-
-${RPM} -ta gpsbabel-$VERSION.tar.bz2
+SRC=`pwd`
+TEMPDIR=/tmp/gpsbabel-rpm.$$
-cd $DIR
+mkdir -p $TEMPDIR
+trap "rm -fr $TEMPDIR" 0 1 2 3 15
+
+mkdir -p $TEMPDIR/BUILD $TEMPDIR/RPMS $TEMPDIR/SPECS \
+ $TEMPDIR/SOURCES $TEMPDIR/SRPMS $TEMPDIR/TMP $TEMPDIR/install
+
+echo "Generate rpm spec file..."
+sh $SRC/tools/mkspec "$WEB" "$VERSION" "$RELEASE" > "$TEMPDIR/SPECS/gpsbabel.spec"
+cp -apr ./ $TEMPDIR/TMP/gpsbabel-$VERSION
+
+#
+pushd $TEMPDIR/TMP/gpsbabel-$VERSION
+echo "Cleaning source..."
+make more-clean > /dev/null 2>&1
+find . -type d -name CVS -exec rm -rf \{\} \; > /dev/null 2>&1
+find . -type d -name "autom4*" -exec rm -rf \{\} \; > /dev/null 2>&1
+
+echo "Add needed files..."
+cp -ap $SRC/gpsbabel.html ./
+cp -ap $SRC/CHANGELOG ./
+
+echo "Create rpm source tarball..."
+cd ..
+# --verbose
+tar --owner=0 --group=0 -czf ../SOURCES/gpsbabel-$VERSION.tgz gpsbabel-$VERSION
+echo "And now create rpm packages..."
+${RPM} -ba \
+ --define "_topdir $TEMPDIR" \
+ --define "buildroot $TEMPDIR/install" \
+ $TEMPDIR/SPECS/gpsbabel.spec
+find ../. -type f -name "*.rpm" -exec cp -apf \{\} /tmp/ \;